package de.jmda.gen.java;

import javax.validation.constraints.NotNull;

import de.jmda.gen.CompoundGenerator;

public interface MethodHeaderGenerator extends CompoundGenerator
{
	MethodModifiersGenerator getModifiersGenerator();
	@NotNull TypeNameGenerator getTypeNameGenerator();
	@NotNull MethodDetailsGenerator getMethodDetailsGenerator();

	/**
	 * @NotNull
	 * @return
	 */
	MethodModifiersGenerator demandModifiersGenerator();

	void setModifiersGenerator(MethodModifiersGenerator generator);
	void setTypeNameGenerator(@NotNull TypeNameGenerator generator);
	void setMethodDetailsGenerator(@NotNull MethodDetailsGenerator generator);
}